// var i;
// var $uI_JiXuGame_UIBindings = require("./UI_JiXuGame_UIBindings");
// var $uIView = require("./UIView");
// var $gameDataManager = require("./GameDataManager");
// var $buffMag = require("./BuffMag");
// var $eventManager = require("./EventManager");
// var $evenType = require("./EvenType");
// var h = cc._decorator;
// var f = h.ccclass;
// var g = h.property;
// var _ = h.inspector;
// var y = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.nowcode = 1;
//         t.auto_ui = null;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype._show = function (e) {
//         var t = [];
//         for (var o = 1; o < arguments.length; o++) {
//             t[o - 1] = arguments[o];
//         }
//         this.nowcode = e;
//         if (2 == e) {
//             this.auto_ui.txt_desclb.string = "你的挑战模式还有未完成";
//         } else {
//             {
//                 var n = $gameDataManager.GameDataMgr.getJiXuGame();
//                 this.auto_ui.txt_desclb.string = "你在第" + n.level + "关还有未完成的战斗";
//             }
//         }
//     };
//     t.prototype.onEnable = function () {};
//     t.prototype._clickListener = function (e) {
//         switch (e) {
//             case this.auto_ui.btn_closeBtn:
//                 this._close();
//                 this.openGame(1);
//                 break;
//             case this.auto_ui.btn_queDingBtn:
//                 this._close();
//                 this.openGame(2);
//                 break;
//             case this.auto_ui.btn_quxiaoBtn:
//                 this._close();
//                 this.openGame(1);
//         }
//     };
//     t.prototype.openGame = function (e) {
//         var t = $gameDataManager.GameDataMgr.getJiXuGame();
//         if (1 == e) {
//             $gameDataManager.GameDataMgr.ClearGameBagData();
//             1 == this.nowcode
//                 ? $gameDataManager.GameDataMgr.updateCiTiao(t.level, null)
//                 : $gameDataManager.GameDataMgr.updateTiaoZhanJiXu(1, !1);
//         }
//         if (2 == e) {
//             1 == this.nowcode
//                 ? ($buffMag.BuffMgr.setSaveCiTiao(t.citiaodata),
//                   $eventManager.EventMgr.dispatchEvent($evenType.EVENT_TYPE.Hall_StartGame, t.level, !0))
//                 : $eventManager.EventMgr.dispatchEvent($evenType.EVENT_TYPE.GAME_TIAOZHAN_VIEW, 1, !0);
//         }
//     };
//     __decorate([g($uI_JiXuGame_UIBindings.default)], t.prototype, "auto_ui", void 0);
//     return __decorate([f], t);
// })($uIView.default);
// exports.default = y;


// import UI_JiXuGame_UIBindings from './UI_JiXuGame_UIBindings';
// import UIView from './UIView';
// import {GameDataMgr} from './GameDataManager';
// import {BuffMgr} from './BuffMag';
// import {EventMgrInstance} from './EventManager';
// import { EVENT_TYPE } from './EvenType';

// const { ccclass, property } = cc._decorator;

// @ccclass
// export default class UI_JiXuGame extends UIView {
//     /** 当前代码状态 */
//     private nowCode: number = 1;

//     /** 自动UI绑定 */
//     @property(UI_JiXuGame_UIBindings)
//     public auto_ui: UI_JiXuGame_UIBindings = null;

//     /**
//      * 显示界面
//      * @param e 当前代码状态
//      * @param args 其他参数
//      * 建议方法名: showUI
//      */
//     protected _show(e: number, ...args: any[]): void {
//         this.nowCode = e;
//         if (e === 2) {
//             this.auto_ui.txt_desclb.string = '你的挑战模式还有未完成';
//         } else {
//             const gameData = GameDataMgr.getJiXuGame();
//             this.auto_ui.txt_desclb.string = '你在第' + gameData.level + '关还有未完成的战斗';
//         }
//     }

//     /**
//      * 当节点启用时调用
//      * 建议方法名: onComponentEnable
//      */
//     public onEnable(): void { }

//     /**
//      * 点击监听器
//      * @param e 点击的按钮
//      * 建议方法名: handleClick
//      */
//     protected _clickListener(e: cc.Button): void {
//         switch (e) {
//             case this.auto_ui.btn_closeBtn:
//                 this._close();
//                 this.openGame(1);
//                 break;
//             case this.auto_ui.btn_queDingBtn:
//                 this._close();
//                 this.openGame(2);
//                 break;
//             case this.auto_ui.btn_quxiaoBtn:
//                 this._close();
//                 this.openGame(1);
//                 break;
//         }
//     }

//     /**
//      * 打开游戏
//      * @param e 打开模式（1或2）
//      * 建议方法名: startGame
//      */
//     private openGame(e: number): void {
//         const gameData = GameDataMgr.getJiXuGame();
//         if (e === 1) {
//             GameDataMgr.ClearGameBagData();
//             if (this.nowCode === 1) {
//                 GameDataMgr.updateCiTiao(gameData.level, null);
//             } else {
//                 GameDataMgr.updateTiaoZhanJiXu(1, false);
//             }
//         } else if (e === 2) {
//             if (this.nowCode === 1) {
//                 BuffMgr.setSaveCiTiao(gameData.citiaodata);
//                 EventMgrInstance.dispatchEvent(EVENT_TYPE.Hall_StartGame, gameData.level, true);
//             } else {
//                 EventMgrInstance.dispatchEvent(EVENT_TYPE.GAME_TIAOZHAN_VIEW, 1, true);
//             }
//         }
//     }
// }

import UIJiXuGameUIBindings from './UI_JiXuGame_UIBindings';
import UIViewBase from './UIView';
import { GameDataMgr } from './GameDataManager';
import { BuffMgr } from './BuffMag';
import { EventMgrInstance } from './EventManager';
import { EVENT_TYPE } from './EvenType';

const { ccclass, property } = cc._decorator;

@ccclass
/** 建议类名: UI_ResumeGame */
export default class ViewJiXuGame extends UIViewBase {
    /** 当前代码状态 */
    private currentCodeState: number = 1;

    /** 自动UI绑定 */
    @property(UIJiXuGameUIBindings)
    public auto_ui: UIJiXuGameUIBindings = null;

    /**
     * 显示界面
     * @param state 当前代码状态
     * @param otherArgs 其他参数
     * 建议方法名: showUI
     */
    protected _show(state: number, ...otherArgs: any[]): void {
        this.currentCodeState = state;
        if (state === 2) {
            this.auto_ui.txt_desclb.string = '你的挑战模式还有未完成';
        } else {
            const gameData = GameDataMgr.getContinueGame();
            this.auto_ui.txt_desclb.string = '你在第' + gameData.level + '关还有未完成的战斗';
        }
    }

    /**
     * 当节点启用时调用
     * 建议方法名: onComponentEnable
     */
    public onEnable(): void { }

    /**
     * 点击监听器
     * @param button 点击的按钮
     * 建议方法名: handleClick
     */
    protected _clickListener(button: cc.Button): void {
        switch (button) {
            case this.auto_ui.btn_closeBtn:
                this._close();
                this.startGame(1);
                break;
            case this.auto_ui.btn_queDingBtn:
                this._close();
                this.startGame(2);
                break;
            case this.auto_ui.btn_quxiaoBtn:
                this._close();
                this.startGame(1);
                break;
        }
    }

    /**
     * 打开游戏
     * @param mode 打开模式（1或2）
     * 建议方法名: startGame
     */
    private startGame(mode: number): void {
        const gameData = GameDataMgr.getContinueGame();
        if (mode === 1) {
            GameDataMgr.clearGameBagData();
            if (this.currentCodeState === 1) {
                GameDataMgr.updateCiTiaoData(gameData.level, null);
            } else {
                GameDataMgr.updateChallengeContinue(1, false);
            }
        } else if (mode === 2) {
            if (this.currentCodeState === 1) {
                BuffMgr.setSavedCiTiao(gameData.citiaodata);
                EventMgrInstance.emitEvent(EVENT_TYPE.Hall_StartGame, gameData.level, true);
            } else {
                EventMgrInstance.emitEvent(EVENT_TYPE.GAME_TIAOZHAN_VIEW, 1, true);
            }
        }
    }
}